To control congestion in a more refined and intelligent manner and even fundamentally avoid a network congestion phenomenon, a router node in a network needs to participate in congestion control. A router detects congestion, examines impact of each flow on the congestion, and manages a queue length in order to control the congestion.
Current queue management mechanisms may be classified into two main types, a passive queue management (PQM) and an active queue management (AQM). In the PQM, a maximum value is set for a data packet queue in a router (by packet), then a packet is allowed to enter the queue till a queue length reaches the maximum value, and a packet that arrives subsequently is dropped, that is, the PQM is a conventional “drop tail” algorithm. In this case, multiple Transmission Control Protocol (TCP) routers detect that a packet loss phenomenon exists in a network, the network is considered to be congested, and then the routers decrease sending rates. Consequently, a slow start is performed on all the TCP routers. In the AQM, congestion is probed by monitoring an average queue length of a router using a random early detection (RED) algorithm. When an average queue length of a router falls within a defined specific threshold range, it indicates that the congestion is imminent. In this case, a source node is selected according to a specific probability to drop a packet to adjust a congestion control window. A packet is actively dropped before a data packet queue of the router is full such that all routers transmit data packets according to a size of the adjusted congestion control window.
It can be learned from the foregoing that in both the PQM and the AQM, a queue status of an individual router is managed to control data packet transmission of routers in an entire network such that congestion is controlled. However, because sending rates of routers in an existing network are different, when an existing congestion control method is used, some network resources that could have been used by the routers may be unavailable to the routers because a slow start is performed on the routers. Consequently, unnecessary network bandwidth waste is caused, and network utilization is reduced.